\documentclass{article}
\usepackage[x11names, rgb]{xcolor}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{snakes,arrows,shapes}
\usepackage{amsmath}
%
%

%

%

\begin{document}
\pagestyle{empty}
%
%
%

\enlargethispage{100cm}
% Start of code
% \begin{tikzpicture}[anchor=mid,>=latex',line join=bevel,]
\begin{tikzpicture}[>=latex',line join=bevel,]
  \pgfsetlinewidth{1bp}
%%
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (8bp,160bp) -- (8bp,392bp) -- (110bp,392bp) -- (110bp,160bp) -- cycle;
  \draw (59bp,374bp) node {Preprocessing};
\end{scope}
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (118bp,16bp) -- (118bp,364bp) -- (332bp,364bp) -- (332bp,16bp) -- cycle;
\end{scope}
  \pgfsetcolor{black}
  % Edge: D -> gSpan
  \draw [->] (59bp,312bp) .. controls (59bp,304bp) and (59bp,295bp)  .. (59bp,276bp);
  % Edge: Partition -> C_1
  \draw [->] (213bp,246bp) .. controls (203bp,236bp) and (188bp,221bp)  .. (168bp,201bp);
  % Edge: C_1 -> OptEdit
  \draw [->] (168bp,171bp) .. controls (179bp,160bp) and (192bp,147bp)  .. (211bp,128bp);
  % Edge: OptEdit -> Result
  \draw [->] (225bp,96bp) .. controls (225bp,88bp) and (225bp,79bp)  .. (225bp,60bp);
  % Edge: C_n -> OptEdit
  \draw [->] (282bp,171bp) .. controls (271bp,160bp) and (258bp,147bp)  .. (239bp,128bp);
  % Edge: Partition -> C_o
  \draw [->] (225bp,240bp) .. controls (225bp,232bp) and (225bp,223bp)  .. (225bp,204bp);
  % Edge: Partition -> C_n
  \draw [->] (237bp,246bp) .. controls (247bp,236bp) and (262bp,221bp)  .. (282bp,201bp);
  % Edge: gSpan -> S
  \draw [->] (59bp,240bp) .. controls (59bp,232bp) and (59bp,223bp)  .. (59bp,204bp);
  % Edge: C_o -> OptEdit
  \draw [->] (225bp,168bp) .. controls (225bp,160bp) and (225bp,151bp)  .. (225bp,132bp);
  % Edge: G_p -> Partition
  \draw [->] (225bp,312bp) .. controls (225bp,304bp) and (225bp,295bp)  .. (225bp,276bp);
  % Node: D
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (86bp,348bp) -- (32bp,348bp) -- (32bp,312bp) -- (86bp,312bp) -- cycle;
  \draw (59bp,330bp) node {$\mathcal{D}$};
\end{scope}
  % Node: OptEdit
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (225bp,132bp) -- (164bp,114bp) -- (225bp,96bp) -- (286bp,114bp) -- cycle;
  \draw (225bp,114bp) node {Optimal edit operation};
\end{scope}
  % Node: Partition
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (225bp,276bp) -- (193bp,258bp) -- (225bp,240bp) -- (257bp,258bp) -- cycle;
  \draw (225bp,258bp) node {$Partition$};
\end{scope}
  % Node: G_p
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (225bp,330bp) ellipse (27bp and 18bp);
  \draw (225bp,330bp) node {$G_p$};
\end{scope}
  % Node: C_o
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (225bp,186bp) ellipse (27bp and 18bp);
  \draw (225bp,186bp) node {$\dots$};
\end{scope}
  % Node: C_n
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (297bp,186bp) ellipse (27bp and 18bp);
  \draw (297bp,186bp) node {$C_n$};
\end{scope}
  % Node: C_1
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (153bp,186bp) ellipse (27bp and 18bp);
  \draw (153bp,186bp) node {$C_1$};
\end{scope}
  % Node: S
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (86bp,204bp) -- (32bp,204bp) -- (32bp,168bp) -- (86bp,168bp) -- cycle;
  \draw (59bp,186bp) node {$\mathcal{S}$};
\end{scope}
  % Node: Result
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (225bp,42bp) ellipse (56bp and 18bp);
  \draw (225bp,42bp) node {Predicted new graph};
\end{scope}
  % Node: gSpan
\begin{scope}
  \pgfsetstrokecolor{black}
  \draw (59bp,276bp) -- (32bp,258bp) -- (59bp,240bp) -- (86bp,258bp) -- cycle;
  \draw (59bp,258bp) node {$gSpan$};
\end{scope}
%
\end{tikzpicture}
% End of code

%
\end{document}
%



